package funcoes;

public class Griewank implements IFuncao {

	public String getNome() {
		return "Griewank";
	}

	public double calcularAptidao(double[] x)
	{
		double somatorio = 0;
		double produtorio = 1;
		double retorno = 0;
		
		for(int i=0; i< x.length; i++)
		{
			somatorio += x[i]*x[i];
			produtorio *= Math.cos(x[i]/Math.pow((i+1), 0.5));
		}
		
		somatorio = somatorio/4000;
		retorno = 1+somatorio-produtorio;
		return retorno;
	}

	
}
